package org.jeecg.modules.kuner.hirebase.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import org.jeecg.modules.kuner.hirebase.entity.KrHireBase;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.kuner.hirebase.vo.KrHireDetailVO;
import org.jeecg.modules.kuner.hirebase.vo.KrHireVO;
import org.jeecg.modules.putil.KrStatic;

import java.math.BigDecimal;

/**
 * @Description: 招聘信息
 * @Author: jeecg-boot
 * @Date: 2025-02-18
 * @Version: V1.0
 */
public interface IKrHireBaseService extends IService<KrHireBase> {

    /**
     * 混合查询
     *
     * @param mixSearch  文本搜索
     * @param money      金额少选
     * @param searchType 混合查询
     * @param pageNo     分页页码
     * @param pageSize   分页大小
     * @return 查询结果
     */
    IPage<KrHireVO> mixSearch(String mixSearch,
                              BigDecimal money,
                              KrStatic.SearchType searchType,
                              String type,
                              Integer edu,
                              String workCity,
                              Integer pageNo,
                              Integer pageSize);

    /**
     * 查询详情
     *
     * @param id 被查询ID
     * @return 查询结果
     */
    KrHireDetailVO detail(String id);

    /**
     * 去收藏
     *
     * @param hireId 被收藏的职位ID
     */
    void doCollection(String hireId);

    /**
     * 取消收藏
     *
     * @param hireId 被收藏的职位ID
     */
    void cancelCollection(String hireId);

    /**
     * 修改或者发布一个岗位
     *
     * @param hireBase 被发布的岗位信息
     */
    void modifyHire(KrHireBase hireBase);
}
